package com.yq.ylmall.acl.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yq.ylmall.dto.acl.AssignRoleDto;
import com.yq.ylmall.dto.acl.LoginDto;
import com.yq.ylmall.dto.acl.UserQueryDto;
import com.yq.ylmall.model.acl.User;
import com.yq.ylmall.vo.acl.LoginVo;

public interface UserService extends IService<User> {
    /**
     * 根据用户名查询用户数据
     * @return
     */
    public abstract LoginVo login(LoginDto loginDto) ;

    /**
     * 用户分页列表
     * @param pageParam
     * @param userQueryVo
     * @return
     */
    IPage<User> selectPage(Page<User> pageParam, UserQueryDto userQueryVo);

    void saveUser(User user);

    void updateUserById(User user);

    User getUserInfo(String token);

    void logout(String token);

    void doAssign(AssignRoleDto assignRoleDto);
}
